#ifndef __PIN_MAP_H__
#define __PIN_MAP_H__

#include <driver/gpio.h>

#define PIN_ESP_I2C_SDA             GPIO_NUM_1
#define PIN_ESP_I2C_SCL             GPIO_NUM_2
#define PIN_BOOT_BUTTON             GPIO_NUM_0

#define PIN_ESP_LCD_BRIGHTNESS      GPIO_NUM_42
#define PIN_LCD_DC                  GPIO_NUM_39
#define PIN_LCD_MOSI                GPIO_NUM_40
#define PIN_LCD_SCLK                GPIO_NUM_41
#define PIN_LCD_CS                  PcaIO::PIN_IO0
#define PIN_LCD_RST                 GPIO_NUM_NC

#define LCD_SPI_BUS_NUM             SPI3_HOST
#define LCDC_CHANNEL_NUM            LEDC_CHANNEL_0  

#define LCD_H_RES                   (320)
#define LCD_V_RES                   (240)
#define LCD_DRAW_BUF_HEIGHT         (20)
#define LCD_BUFFER_SIZE             (LCD_H_RES * LCD_DRAW_BUF_HEIGHT)
#define LCD_PIXEL_CLOCK_HZ          (80 * 1000 * 1000)
#define LCD_CMD_BITS                (8)
#define LCD_PARAM_BITS              (8)
#define LCD_BITS_PER_PIXEL          (16)


#define CAMERA_PIN_PWDN -1
#define CAMERA_PIN_RESET -1
#define CAMERA_PIN_XCLK 5
#define CAMERA_PIN_SIOD 1
#define CAMERA_PIN_SIOC 2

#define CAMERA_PIN_D7 9
#define CAMERA_PIN_D6 4
#define CAMERA_PIN_D5 6
#define CAMERA_PIN_D4 15
#define CAMERA_PIN_D3 17
#define CAMERA_PIN_D2 8
#define CAMERA_PIN_D1 18
#define CAMERA_PIN_D0 16
#define CAMERA_PIN_VSYNC 3
#define CAMERA_PIN_HREF 46
#define CAMERA_PIN_PCLK 7

#define XCLK_FREQ_HZ 24000000

#endif // __PIN_MAP_H__